1244
13121
Jeg har lige installeret Python 3.6.1 til MacOS X
Når jeg forsøger at køre konsollen (eller køre noget med Python3), kastes denne fejl:
AttributeError: modul 'enum' har ingen attribut 'IntFlag'
$ /Library/Frameworks/Python.framework/Versions/3.6/bin/python3
Kunne ikke importere webstedsmodulet
Traceback (seneste opkald sidst):
Fil "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py", linje 544 i 
hoved ()
Fil "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py", linje 530, i det væsentlige
kendte stier = addusersitepackages (kendte stier)
Fil "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py", linje 282, i addusersitepackages
user_site = getusersitepackages ()
Fil "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py", linje 258, i getusersitepackages
user_base = getuserbase () # dette indstiller også USER_BASE
Fil "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site.py", linje 248, i getuserbase
USER_BASE = get_config_var ('brugerbase')
Fil "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/sysconfig.py", linje 601, i get_config_var
returner get_config_vars (). get (name)
Fil "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/sysconfig.py", linje 580, i get_config_vars
import _osx_support
Fil "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/_osx_support.py", linje 4 i 
import til
Fil "/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/re.py", linje 142 i 
klasse RegexFlag (enum.IntFlag):
AttributeError: modul 'enum' har ingen attribut 'IntFlag'
Klassen IntFlag findes inden for enum.py. Så hvorfor kastes AttributeError? 
Det er fordi dit enum ikke er standardbibliotekets enum-modul. Du har sandsynligvis pakken enum34 installeret.
En måde at kontrollere, om dette er tilfældet, er at inspicere ejendommens .__-fil__
import enum
udskriv (en. .__ fil__)
# standardbiblioteksplacering skal være noget lignende
# /usr/local/lib/python3.6/enum.py
Siden python 3.6 er enum34-biblioteket ikke længere kompatibelt med standardbiblioteket. Biblioteket er også unødvendigt, så du kan bare afinstallere det.
pip-afinstallation -y enum34
Hvis du har brug for koden til at køre på pythonversioner både <= 3.4 og> 3.4, kan du prøve at have enum-compat som et krav. Det installerer kun enum34 til ældre versioner af python uden standardbibliotekets enum.
|
Ikke sikker på, om du stadig har dette problem. Jeg havde et lignende problem, og jeg kunne løse det ved blot at frakoble PYTHONPATH
$ unset PYTHONPATH
|
For mig opstod denne fejl efter installation af gcloud-komponent app-engine-python for at integrere i pycharm. Afinstallation af modulet hjalp, selvom pycharm nu ikke uploades til app-engine.
|
Hvis nogen kommer her på grund af at få denne fejl, mens de kører et google app-motor Python 3.7 standardmiljøprojekt i PyCharm, er alt hvad du skal gøre,
Sørg for, at konfigurationen, der skal køres, er til Flask, ikke Google App Engine-konfiguration.
Deaktiver derefter Google App Engine-support under Indstillinger >> Sprog og rammer >> Google App Engine
Årsagen er ifølge dette link
Det overordnede mål er, at din app skal være fuldt bærbar og køre i ethvert standard Python-miljø. Du skriver en standard Python-app, ikke en App Engine Python-app. Som en del af dette skift er du ikke længere forpligtet til at bruge proprietære App Engine API'er og tjenester til din apps kernefunktionalitet. På nuværende tidspunkt er App Engine API'er ikke tilgængelige i Python 3.7-runtime.
Jeg gætter på, at når vi opretter et python 3.7-projekt i PyCharm som et Google-app-motorprojekt, prøver det stadig at gøre på samme måde som for en python2.7-app
|
ANSVARSFRASKRIVELSE: Venligst @ juanpa.arrivillaga, hvis du ser dette svar, er du velkommen til at skrive dit eget, så fjerner jeg dette indlæg.
@ juanpa.arrivillaga havde nævnt ovenfor:
Er der et filnavn enum.py i din arbejdsmappe med en chance?
Dette var det problem, jeg stødte på. Jeg var ikke opmærksom på enum-modulet på python på det tidspunkt og havde navngivet min testfil enum.py.
Da filnavnet er modulnavnet, var der en konflikt. Mere info om moduler her: https://docs.python.org/2/tutorial/modules.html
|
Deaktivering af "Google App Engine Support" i pycharm-præferencer løste dette problem for mig.
|
Installation af version 1.1.8 af enum34 fungerede for mig.
Jeg var i stand til at løse dette ved at tilføje enum34 = "== 1.1.8" til pyproject.toml.
Tilsyneladende havde enum34 en funktion i v1.1.8, der undgik denne fejl, men
dette regression i v1.1.9 +. Dette er dog kun en løsning. Det
bedre løsning ville være, at pakker bruger miljømarkører så
du behøver slet ikke at installere enum34, medmindre det er nødvendigt.
Kilde: https://github.com/python-poetry/poetry/issues/1122
|
Håken Lids svar hjalp med at løse mit problem (tak!), I mit tilfælde til stede i Python3.7, der kører Flask i en Docker-container (FRA tiangolo / uwsgi-nginx-flask: python3.7-alpine3.7).
I mit tilfælde blev enum34 installeret af et andet bibliotek (pip install smartsheet-python-sdk).
For dem der kommer med et lignende Docker-containerproblem, her er min sidste Dockerfile (fjernet til de relevante linjer):
FRA tiangolo / uwsgi-nginx-kolbe: python3.7-alpine3.7
...
KØR pip-installation -r krav.txt
Kør pip-afinstallation -y enum34
...
|
Hvis du er nødt til at beholde PYTHONPATH til både python2 og python3, kan du skrive alias-sætninger for at indstille den korrekte PYTHONPATH i din bash_profile:
Hardcode dine PYTHONPATH2- og PYTHONPATH3-variabler i din ~ / .bash_profile, og tilføj følgende aliaser i slutningen af ​​den:
alias python = 'eksport PYTHONPATH = $ {PYTHONPATH2}; python'
alias python3 = 'eksport PYTHONPATH = $ {PYTHONPATH3}; python3'
Min python (refererer til python2), da jeg bruger python2 oftere.
|
Når jeg nogensinde fik dette problem:
AttributeError: modul 'enum' har ingen attribut 'IntFlag'
simpelthen først kører jeg kommandoen:
frakoblet PYTHONPATH
og kør derefter min ønskede kommando og fik succes i det.
|
Det gjorde jeg ved at bruge pip install  --ignore-installed enum34
Når dit påkrævede bibliotek er installeret, skal du kigge efter advarsler under bygningen.
Jeg fik en fejl som denne: Brug af ældre setup.py installation til fremtiden, da pakke 'hjul' ikke er installeret FEJL: pyejabberd 0.2.11 har krav enum34 == 1.1.2, men du har enum34 1.1.10, som er uforenelig .
For at løse dette problem skal du nu køre kommandoen: pip freeze | grep enum34. Dette giver dig versionen af ​​den installerede enum34. Afinstaller det nu med pip afinstaller enum34 og geninstaller den påkrævede version som pipinstallation "enum34 == 1.1.20"
|
Hvis du har dette problem, når du kører tests i PyCharm, skal du sørge for, at det andet felt ikke er markeret ikonfigurationer.
|
Jeg har Python 2 og Python 3 installeret på min computer. Af en eller anden mærkelig grund har jeg også i sys.path af Python 3 en sti til sitepackage-biblioteksbiblioteket i Python2, når re-modulet kaldes. Hvis jeg kører Python 3 og importerer enum og udskriver (enum .__ fil__), viser systemet ikke denne Python 2-sti til stedspakker. Så et meget groft og beskidt hack er at ændre det modul, hvor enum importeres direkte, (følg sporingsstierne) og indsæt følgende kode lige før import af enum:
importer sys
for i, p i enumerate (sys.path):
hvis "python27" i p.lower () eller "python2.7" i p.lower (): sys.path.pop (i)
import enum
Det løste mit problem.
|
Selv jeg havde dette problem, mens jeg kørte python -m grpc_tools.protoc --version
Var nødt til at indstille PYTHONPATH indtil stedspakker og lukke alle kommandopromptvinduerne, og det fungerede. Håber det hjælper for gRPC-brugere.
|
Jeg havde dette problem i ubuntu20.04 i jupyterlab i min virtuelle env-kerne med python3.8 og tensorflow 2.2.0. Fejlmeddelelsen var
Traceback (seneste opkald sidst):
Fil "/usr/lib/python2.7/runpy.py", linje 174, i _run_module_as_main
"__main__", fname, loader, pkg_name)
Fil "/usr/lib/python2.7/runpy.py", linje 72, i _run_code
exec-kode i run_globals
Fil "/home/hu-mka/.local/lib/python2.7/site-packages/ipykernel_launcher.py", linje 15 i 
fra ipykernel import kernelapp som app
Fil "/home/hu-mka/.local/lib/python2.7/site-packages/ipykernel/__init__.py", linje 2 i 
fra .connect import *
Fil "/home/hu-mka/.local/lib/python2.7/site-packages/ipykernel/connect.py", linje 13 i 
fra IPython.core.profiledir importerer ProfileDir
Fil "/home/hu-mka/.local/lib/python2.7/site-packages/IPython/__init__.py", linje 48 i 
fra .core.application import ansøgning
Fil "/home/hu-mka/.local/lib/python2.7/site-packages/IPython/core/application.py", linje 23 i 
fra importprogrammet traitlets.config.application, catch_config_error
Fil "/home/hu-mka/.local/lib/python2.7/site-packages/traitlets/__init__.py", linje 1, i 
fra .traitlets import *
Fil "/home/hu-mka/.local/lib/python2.7/site-packages/traitlets/traitlets.py", linje 49 i 
import enum
ImportError: Intet modul med navnet enum
problemet var, at i symbolsk link i / usr / bin / python pegede på python2. Opløsning:
cd / usr / bin /
sudo ln -sf python3 python
Forhåbentlig falder Python 2-brug helt snart.
|
Jeg fik dette problem, mens jeg installerede transformerbibliotek fra HuggingFace. Det skyldtes, at pakken enum34 blev installeret i mit miljø, der tilsidesatte indbygget enum i Python. Denne pakke blev sandsynligvis installeret af noget som for fremadkompatibilitet, som ikke længere er nødvendigt med Python 3.6+. Så løsningen er simpelthen,
pip-afinstallation -y enum34
|
Desværre hjalp ingen af ​​forslagene mig, men efter mere googling af dette
pip installere enenum
løst det for mig
|
Hvis nogen har dette problem, når de prøver at køre Jupyter-kerne fra en virtualenv, skal du blot tilføje korrekt PYTHONPATH til kernel.json af din virtualenv-kerne (Python 3 i eksempel):
{
"argv": [
"/usr/local/Cellar/python/3.6.5/bin/python3.6",
"-m",
"ipykernel_launcher",
"-f",
"{connection_file}"
],
"display_name": "Python 3 (TensorFlow)",
"sprog": "python",
"env": {
"PYTHONPATH": "/Users/dimitrijer/git/mlai/.venv/lib/python3.6:/Users/dimitrijer/git/mlai/.venv/lib/python3.6/lib-dynload:/usr/local/ Kælder / python / 3.6.5 / Frameworks / Python.framework / Versioner / 3.6 / lib / python3.6: /Users/dimitrijer/git/mlai/.venv/lib/python3.6/site-packages "
}
}
|
Dit svar
StackExchange.ifUsing ("editor", funktion () {
StackExchange.using ("externalEditor", funktion () {
StackExchange.using ("uddrag", funktion () {
StackExchange.snippets.init ();
});
});
}, "kodestykke");
StackExchange.ready (funktion () {
var channelOptions = {
tags: "" .split (""),
id: "1"
};
initTagRenderer ("". split (""), "" .split (""), channelOptions);
StackExchange.using ("externalEditor", funktion () {
// Skal redigere editoren efter uddrag, hvis uddrag er aktiveret
hvis (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using ("uddrag", funktion () {
createEditor ();
});
}
andet {
createEditor ();
}
});
funktion createEditor () {
StackExchange.prepareEditor ({
useStacksEditor: falsk,
heartbeatType: 'svar',
autoActivateHeartbeat: false,
convertImagesToLinks: sand,
noModals: sandt,
showLowRepImageUploadWarning: true,
reputToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Drevet af \ u003ca href = \" https: //imgur.com/ \ "\ u003e \ u003csvg class = \" svg-icon \ "width = \" 50 \ "height = \" 18 \ "viewBox = \ "0 0 50 18 \" fill = \ "none \" xmlns = \ "http: //www.w3.org/2000/svg \" \ u003e \ u003cpath d = \ "M46.1709 9.17788C46.1709 8.26454 46.2665 7.94324 47.1084 7.58816C47.4091 7.46349 47.7169 7.36433 48.0099 7.26993C48.9099 6.97997 49.672 6.73443 49.672 5.93063C49.672 5.22043 48.98324.61182 48.1414 4.61182C47.4335 4.61182 46.7256 4.91628 46.0943 5.50789C45.7307 4.9328 45.2525 4.66231 44.6595 4.66231C43.6264 4.66231 43.1481 5.28821 43.1481 6.59048V11.9512C43.1481 13.2535.6.6 / \ u003e \ u003cpath d = \ "M32.492 10.1419C32.492 12.6954 34.1182 14.0484 37.0451 14.0484C39.9723 14.0484 41.5985 12.6954 41.5985 10.1419V6.59049C41.5985 5.28821 41.1394 4.66232 40.1061 4 .5948 10.8521 38.2696 11.5455 37.0451 11.5455C35.8209 11.5455 35.4954 10.8521 35.4954 9.60062V6.59049C35.4954 5.28821 35.0173 4.66232 34.0034 4.66232C32.9703 4.66232 32.492 5.28821 32.4924.649V \ "clip-rule = \" evenodd \ "d = \" M25.6622 17.6335C27.8049 17.6335 29.3739 16.9402 30.2537 15.6379C30.8468 14.7755 30.9615 13.5579 30.9615 11.9512V6.59049C30.9615 5.28821 30.4833 4.661361.4.42366.4 4.9497 8 28.1109 5.50789C27.499 4.86533 26.7335 4.56087 25.7005 4.56087C23.1369 4.56087 21.0134 6.57349 21.0134 9.27932C21.0134 11.9852 23.003 13.913 25.3754 13.913C26.5612 13.913 27.4607 13.4902 28.1109.1.69 12.6 12.983C28.1301 14.4373 27.2502 15.2321 25.777 15.2321C24.8349 15.2321 24.1352 14.9821 23.5661 14.7787C23.176 14.6393 22.8472 14.5218 22.5437 14.5218C21.7977 14.5218 21.2429 15.0123 21.721.24.26 7.09766 26.1024 7.09766C27.2119 7.09766 28.0918 7.94324 28.0918 9.27932C28.0918 10.6321 27.2311 11.5116 26.1024 11.5116C24.9737 11.5116 24.1317 10.6491 24.1317 9.27932Z \ "/ \ u003e \ u003cpath d = \ 24.212.26 13.8962C19.3298 13.8962 19.8079 13.2535 19.8079 11.9512V8.12928C19.8079 5.82936 18.4879 4.62866 16.4027 4.62866C15.1594 4.62866 14.279 4.98375 13.3609 5.88013C12.653 5.05154 11.6581 4.62866 10.3573 4.62866C9.34336 4.62866 8.57809 4.89931 7.9466 5.5079C7.58314 4.9328 7.10506 4.66232 6.51203 4.66232C5.47873 4.66232 5.00066 5.28821 5.00066 6.59049V11.9512C5.00066 13.2535.778 0232 7,58817 8,44431 6,91179 9,53458 6.91179C10.5104 6,91179 10,893 7,58817 10,893 8.94108V11.9512C10.893 13,2535 11,3711 13,8962 12,4044 13.8962C13.4375 13,8962 13,9157 13,2535 13,9157 11.9512V8.90741C13.9157 7,58817 14,3365 6,91179 15,4269 6.91179C16.4027 6,91179 16,8045 7,58817 16,8045 8,94108 V11.9512Z \ "/ \ u003e \ u003cpath d = \" M3.31675 6.59049C3.31675 5.28821 2.83866 4.66232 1.82471 4.66232C0.791758 4.66232 0.313354 5.28821 0.313354 6.59049V11.9512C0.313354 13.2535.82.796178 3.31675 11.9512V6.59049Z \ "/ \ u003e \ u003cpath d = \" M1.87209 0.400291C0.843612 0.400291 0 1.1159 0 1.98861C0 2.87869 0.822846 3.57676 1.87209 3.57676C2.90056 3.57676 3.7234 2.87869 3.7234 1.98861C3.7234 1.1159 2.90056 0.400291 1.87209 0.400291Z \ "fill = \" # 1BB76E \ "/ \ u003e \ u003c / svg \ u003e \ u003c / a \ u003e",
contentPolicyHtml: "Brugerbidrag licenseret under \ u003ca href = \" https: //stackoverflow.com/help/licensing \ "\ u003ecc by-sa \ u003c / a \ u003e \ u003ca href = \" https://stackoverflow.com / legal / content-policy \ "\ u003e (content policy) \ u003c / a \ u003e",
allowUrls: sandt
},
onDemand: sandt,
discardSelector: ".discard-answer"
, straksShowMarkdownHelp: true, enableTables: true, enableSnippets: true
});
}
});
Tak for dit bidrag til Stack Overflow!
Sørg for at besvare spørgsmålet. Giv detaljer og del din forskning!
Men undgå ...
At bede om hjælp, afklaring eller svar på andre svar.
At afgive udsagn baseret på mening; sikkerhedskopier dem med referencer eller personlig erfaring.
For at lære mere, se vores tip til at skrive gode svar.
Kladde gemt
Udkast kasseret
Tilmeld dig eller log ind
StackExchange.ready (funktion () {
StackExchange.helpers.onClickDraftSave ('# login-link');
});
Tilmeld dig ved hjælp af Google
Tilmeld dig via Facebook
Tilmeld dig ved hjælp af e-mail og adgangskode
Indsend
Send som gæst
Navn
E-mail
Påkrævet, men aldrig vist
StackExchange.ready (
funktion () {
StackExchange.openid.initPostLogin ('. New-post-login', 'https% 3a% 2f% 2fstackoverflow.com% 2fquestions% 2f43124775% 2fwhy-python-3-6-1-throws-attributeerror-module-enum-has- no-attribute-intflag% 23new-answer ',' question_page ');
}
);
Send som gæst
Navn
E-mail
Påkrævet, men aldrig vist
Send dit svar
Kassér
Ved at klikke på "Send dit svar" accepterer du vores servicevilkår, fortrolighedspolitik og cookiepolitik
Er det ikke det svar, du leder efter? Gennemse andre spørgsmål mærkede python python-3.x fortæller python-3.6 attributerror eller still dit eget spørgsmål.